﻿// 软件工程.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//


/*#include <stdio.h>

int main()
{
	int m = 0;
	int i, j, n;
	scanf_s("%d", &n);
	for (i = 2; i <= n; i++)
	{
		for (j = 2; j <= i - 1; j++)
		{
			if (i % j == 0)
				break;
		}
		if (j == i)
		{
			printf("%d ", i);
			m++;
			if (m % 5 == 0)
			{	
				m = 0;
				printf("\n");
			}
		}
		
	}
}

*/
#include<stdio.h>
#include<time.h>
#include<math.h>

int isPrime(int n) {
	if (n < 2) return 0;		//大于1呀 才可能是素数呢
	if (n == 2) return 1;		//2是素数哦
	if (n % 2 == 0) return 0;
	//如果是合数，必定是两个数的乘积，这两个数肯定一个大于根号N，一个小于根号N
	int sq = sqrt(n);
	for (int i = 3; i <= sq; i += 2) {//偶数已经判断过了
		if (n % i == 0) return 0;
	}
	return 1;
}

int main() {
	int t1 = clock(), m = 0;
	for (int i = 2; i <= 20000; i++) {
		if (isPrime(i)) {
			printf(" %d ", i);
			m++;
			if (m % 5 == 0)
			{
				m = 0;
				printf("\n");
			}
		}
	}
	int t2 = clock();
	printf("\n运行时间：%d\n", t2 - t1);
}



// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门使用技巧: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件，或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来，若要再次打开此项目，请转到“文件”>“打开”>“项目”并选择 .sln 文件
